The ubiquity of Internet connectivity and the unprecedented growth in network access bandwidth have been fueling the demand for more versatile forms of on-line content. In particular, content providers are catering to an increasing demand for multi-media content, such as audio and video, over the Internet. Existing Internet applications fail to provide an effective means for delivery of bandwidth-intensive multi-media content to end-users.
Video is one of the most bandwidth-demanding forms of on-line content. Traditionally, video, particularly live video, and audio, have been broadcast over cable programming networks. Bandwidth-demanding video signals, such as television (TV) content, have only been offered by the cable programming networks. Although broadband cable service can provide both data-communication connectivity and cable programming to end-users, cable programming is often carried separately from data services. Consequently, end-users are not able to enjoy high-bandwidth audio or video content over broadband networks that offer Internet connectivity but not cable programming.
Successful delivery of high-quality video and audio content over an Internet connection is subject to several constraints. Access bandwidth historically presented one throughput bottleneck. For example, dial-up Internet services generally limit access bandwidth to 56 Kbps. Recent developments in access technologies, such as ADSL, VDSL, direct Ethernet connection, and WLAN, have largely removed this bottleneck by bringing multi-Mbps connections to end-users. Despite these recent developments, factors other than bandwidth limits, such as server overloading and network congestion, still pose potential constraints.
Most constraints not directly caused by limited link bandwidth are often the result of centralized data transfer, where media content is delivered based on a client-server model. An end-user starts a client program, which contacts a server where the content is stored, and downloads the content from the server. Although the network connection may provide sufficient bandwidth to accommodate multiple video channels, the server may become overloaded when numerous end-users simultaneously request streaming video. In addition, the connection may be congested with other network traffic. High-performance servers and high-bandwidth network connections can mitigate these problems, but such solutions are not scalable and inevitably increase service-provisioning costs.
Peer-to-peer (P2P) overlay networks have attracted growing interest as a solution to delivering high-quality video content. A P2P network is formed as a logical layer operating over a conventional network infrastructure, such as the Internet. In a P2P network, peer nodes are aware of the states of other peer nodes and a group of peer nodes can directly exchange data or services among themselves. The task of content delivery is not undertaken by one particular server. Thus, P2P networks provide a favorable environment for delivering streaming data, such as video, because server overloading is avoided and network congestion is reduced. P2P networks also scale gracefully as users increase.
An efficient P2P network requires sufficient content-delivery bandwidth while minimizing network utilization. The prevalence of P2P applications has lead to a significant increase in bandwidth consumption, which causes a corresponding increase in the network operation costs. Recently, Internet traffic has surged due to an increase in World Wide Web (WWW) applications. Internet service providers (ISPs) mitigate associated operation costs through Web caching. In a typical configuration, a Web cache server resides near a gateway in an ISP's network, intercepts Web page requests, and responds with cached Web pages. Web caching reduces end-to-end traffic and the burden placed on Web servers. One exemplary Web caching solution is provided by Akamai, Inc., Cambridge, Mass.
Web caching, however, cannot easily migrate onto a P2P network. Unlike Web applications, different P2P applications support different protocols and port numbers. Identifying P2P traffic can be difficult. PCT Patent Application WO 2005/079020, to Twiss, the disclosure of which is incorporated by reference, discloses differentiating P2P traffic from other Internet traffic at a router to allow caching in a P2P network. Nevertheless, low network efficiency problems can remain. For instance, a P2P network may involve a central directory server, from which a node can request a list of peer nodes for downloads. The directory server lacks knowledge of location-specific content-distribution states. As a result, the peer nodes identified by the directory server might be scattered over the entire Internet, resulting in inefficient, slow, and unstable downloading. Additionally, the requesting node cannot learn whether a copy of the content is available locally, as the directory server lacks locality information.
Hence, there is a need for a method and a system for expediting P2P content delivery with improved network utilization.